// Generated from antlr/demo.g4 by ANTLR 4.9.0-SNAPSHOT


import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";

import { FileContext } from "./demoParser";
import { SectionContext } from "./demoParser";
import { Section_headerContext } from "./demoParser";
import { AttributeContext } from "./demoParser";
import { InstanceContext } from "./demoParser";
import { AgrsContext } from "./demoParser";
import { ValueContext } from "./demoParser";


/**
 * This interface defines a complete listener for a parse tree produced by
 * `demoParser`.
 */
export interface demoListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by `demoParser.file`.
	 * @param ctx the parse tree
	 */
	enterFile?: (ctx: FileContext) => void;
	/**
	 * Exit a parse tree produced by `demoParser.file`.
	 * @param ctx the parse tree
	 */
	exitFile?: (ctx: FileContext) => void;

	/**
	 * Enter a parse tree produced by `demoParser.section`.
	 * @param ctx the parse tree
	 */
	enterSection?: (ctx: SectionContext) => void;
	/**
	 * Exit a parse tree produced by `demoParser.section`.
	 * @param ctx the parse tree
	 */
	exitSection?: (ctx: SectionContext) => void;

	/**
	 * Enter a parse tree produced by `demoParser.section_header`.
	 * @param ctx the parse tree
	 */
	enterSection_header?: (ctx: Section_headerContext) => void;
	/**
	 * Exit a parse tree produced by `demoParser.section_header`.
	 * @param ctx the parse tree
	 */
	exitSection_header?: (ctx: Section_headerContext) => void;

	/**
	 * Enter a parse tree produced by `demoParser.attribute`.
	 * @param ctx the parse tree
	 */
	enterAttribute?: (ctx: AttributeContext) => void;
	/**
	 * Exit a parse tree produced by `demoParser.attribute`.
	 * @param ctx the parse tree
	 */
	exitAttribute?: (ctx: AttributeContext) => void;

	/**
	 * Enter a parse tree produced by `demoParser.instance`.
	 * @param ctx the parse tree
	 */
	enterInstance?: (ctx: InstanceContext) => void;
	/**
	 * Exit a parse tree produced by `demoParser.instance`.
	 * @param ctx the parse tree
	 */
	exitInstance?: (ctx: InstanceContext) => void;

	/**
	 * Enter a parse tree produced by `demoParser.agrs`.
	 * @param ctx the parse tree
	 */
	enterAgrs?: (ctx: AgrsContext) => void;
	/**
	 * Exit a parse tree produced by `demoParser.agrs`.
	 * @param ctx the parse tree
	 */
	exitAgrs?: (ctx: AgrsContext) => void;

	/**
	 * Enter a parse tree produced by `demoParser.value`.
	 * @param ctx the parse tree
	 */
	enterValue?: (ctx: ValueContext) => void;
	/**
	 * Exit a parse tree produced by `demoParser.value`.
	 * @param ctx the parse tree
	 */
	exitValue?: (ctx: ValueContext) => void;
}

